const dbJQL = uniCloud.databaseForJQL()

module.exports = {
	_before: function() {
		// 预处理器不再需要权限判断
	},

	/**
	 * 获取banner列表
	 * @returns {object} banner列表数据
	 */
	async getList() {
		const bannerList = await dbJQL.collection('hd-banner')
			.orderBy('sort', 'desc') // 按sort降序
			.where('status == 1') // 只获取启用的banner
			.get()
		return {
			code: 200,
			msg: '获取成功',
			data: bannerList.data
		}
	},

	/**
	 * 添加banner
	 * @param {object} params banner数据
	 * @returns {object} 添加结果
	 */
	async add(params) {
		if (!params.banner_pic) {
			return {
				code: 400,
				msg: '图片不能为空'
			}
		}

		const res = await dbJQL.collection('hd-banner').add(params)
		return {
			code: 200,
			msg: '添加成功',
			data: res
		}
	},

	/**
	 * 更新banner
	 * @param {string} id banner ID
	 * @param {object} params 更新数据
	 * @returns {object} 更新结果
	 */
	async update(id, params) {
		if (!id) {
			return {
				code: 400,
				msg: 'ID不能为空'
			}
		}

		const res = await dbJQL.collection('hd-banner')
			.doc(id)
			.update(params)
		return {
			code: 200,
			msg: '更新成功',
			data: res
		}
	},

	/**
	 * 删除banner
	 * @param {string} id banner ID
	 * @returns {object} 删除结果
	 */
	async delete(id) {
		if (!id) {
			return {
				code: 400,
				msg: 'ID不能为空'
			}
		}

		const res = await dbJQL.collection('hd-banner')
			.doc(id)
			.remove()
		return {
			code: 200,
			msg: '删除成功',
			data: res
		}
	}
}